#ifndef _FLT_DISPLIB_H_
#define _FLT_DISPLIB_H_

#include <stdint.h>

#ifdef __cplusplus
extern "C"
{
#endif

    typedef struct
    {
        int16_t SetPoint;            
        int16_t CurPoint;            
        int8_t Coef;                 
        uint8_t bFollowSt;           
        uint8_t bStadySt;            
        uint8_t bCalPulse;           
        uint8_t KeepTimeSv;          
        uint16_t FollowQuitPeriod;   
        uint16_t FollowEntryPeriod;  
        uint16_t FollowQuitDelaySv;  
        uint16_t FollowEntryDelaySv; 
        int16_t FollowValMaxSet;     
        uint16_t DataOutPeriod;      

        uint16_t PulseAutoCnt; 
        int16_t FollowVal;     
        int16_t DispVal;       
        int16_t SetPointOld;   
        int16_t CurPointOld;   
        int16_t KeepVal;       
        uint8_t KeepTimeCnt;   

        uint16_t FollowQuitDelayCnt;  
        uint16_t FollowEntryDelayCnt; 
    } disp_flt_t;

    void disp_flt_mixed(disp_flt_t *DispObj);

    typedef struct
    {
        int32_t SetPoint;            
        int32_t CurPoint;            
        int8_t Coef;                 
        uint8_t bFollowSt;           
        uint8_t bStadySt;            
        uint8_t bCalPulse;           
        uint8_t KeepTimeSv;          
        uint16_t FollowQuitPeriod;   
        uint16_t FollowEntryPeriod;  
        uint16_t FollowQuitDelaySv;  
        uint16_t FollowEntryDelaySv; 
        int32_t FollowValMaxSet;     
        uint16_t DataOutPeriod;      

        uint16_t PulseAutoCnt; 
        int32_t FollowVal;     
        int32_t DispVal;       
        int32_t SetPointOld;   
        int32_t CurPointOld;   
        int32_t KeepVal;       
        uint8_t KeepTimeCnt;   

        uint16_t FollowQuitDelayCnt;  
        uint16_t FollowEntryDelayCnt; 
    } disp32_flt_t;

    void disp32_flt_mixed(disp32_flt_t *DispObj);

#ifdef __cplusplus
}
#endif

#endif 
